package com.ruoyi.com.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.com.domain.ComUserDept;
import com.ruoyi.common.core.domain.OperateBasicForm;
import com.ruoyi.common.core.domain.entity.SysDept;

/**
 * 用户和机构关联Service接口
 *
 * @author sunye
 * @date 2024-10-14
 */
public interface IComUserDeptService extends IService<ComUserDept>
{
    /**
     * 查询用户和机构关联
     *
     * @param userId 用户和机构关联主键
     * @return 用户和机构关联
     */
    public List<SysDept> selectComUserDeptByUserId(Long userId);

    /**
     * 查询用户和机构关联列表
     *
     * @param comUserDept 用户和机构关联
     * @return 用户和机构关联集合
     */
    public List<ComUserDept> selectComUserDeptList(ComUserDept comUserDept);

    /**
     * 新增用户和机构关联
     *
     * @param comUserDept 用户和机构关联
     * @return 结果
     */
    public int insertComUserDept(ComUserDept comUserDept);

    /**
     * 修改用户和机构关联
     *
     * @param comUserDept 用户和机构关联
     * @return 结果
     */
    public int updateComUserDept(ComUserDept comUserDept);

    /**
     * 批量删除用户和机构关联
     *
     * @param userIds 需要删除的用户和机构关联主键集合
     * @return 结果
     */
    public int deleteComUserDeptByUserIds(Long[] userIds);

    /**
     * 删除用户和机构关联信息
     *
     * @param userId 用户和机构关联主键
     * @return 结果
     */
    public int deleteComUserDeptByUserId(Long userId);

    /**
     * 置为有效/无效用户和机构关联
     *
     */
    int effectiveStatus(OperateBasicForm operateBasicForm);
}
